package net.zoneland.knowledge.model;

import net.zoneland.knowledge.enums.WorkStatusEnum;
import net.zoneland.uniflow.client.UserInfo;

import java.io.Serializable;
import java.util.Map;

public class ProcessProcessing implements Serializable {

    private static final long serialVersionUID = 2695757623921555694L;

    /**
     * 当前处理人处理人信息.
     */
    private UserInfo currentHandler;

    /**
     * 下一环节处理人信息.
     */
    private UserInfo[] nextHandlers;

    /**
     * 下一处理人uid.
     */
    private String nextHandlerUid;
    /**
     * 下一处理人姓名.
     */
    private String nextHandlerName;

    /**
     * 处理意见.
     */
    private String opinion;

    /**
     * 选择决策.
     */
    private String decision;

    /**
     * 决策选项.
     */
    private String option;

    /**
     * 目标节点ID.
     */
    private String destNodeId;

    /**
     * 目标节点名称.
     */
    private String destNodeName;

    /**
     * 优先级.
     */
    private int priority;

    /**
     * 条件表达式.
     */
    private String condition;

    /**
     * 条件扩展参数.
     */
    private String[] conditionExtParams;

    /**
     * 决策属性.
     */
    private Map<String, String> decisionProps;

    /**
     * 决策编号
     */
    private int decisionNum;

    /**
     * 决策选择项.
     */
    private String decisionSelected;

    /**
     * 下一处理状态（节点ID）.
     */
    private WorkStatusEnum nextSubmitStatus;

    public String getTaskId() {
        return taskId;
    }

    public void setTaskId(String taskId) {
        this.taskId = taskId;
    }

    /**
     * 任务id
     */
    private String taskId;

    public ProcessProcessing() {
    }

    public UserInfo getCurrentHandler() {
        return currentHandler;
    }

    public void setCurrentHandler(UserInfo currentHandler) {
        this.currentHandler = currentHandler;
    }

    public UserInfo[] getNextHandlers() {
        return nextHandlers;
    }

    public void setNextHandlers(UserInfo[] nextHandlers) {
        this.nextHandlers = nextHandlers;
    }

    public String getOpinion() {
        return opinion;
    }

    public void setOpinion(String opinion) {
        this.opinion = opinion;
    }

    public String getDecision() {
        return decision;
    }

    public void setDecision(String decision) {
        this.decision = decision;
    }

    public String getOption() {
        return option;
    }

    public void setOption(String option) {
        this.option = option;
    }


    public String getDecisionSelected() {
        return decisionSelected;
    }

    public void setDecisionSelected(String decisionSelected) {
        this.decisionSelected = decisionSelected;
    }


    public WorkStatusEnum getNextSubmitStatus() {
        return nextSubmitStatus;
    }

    public void setNextSubmitStatus(WorkStatusEnum nextSubmitStatus) {
        this.nextSubmitStatus = nextSubmitStatus;
    }


    public String getDestNodeId() {
        return destNodeId;
    }

    public void setDestNodeId(String destNodeId) {
        this.destNodeId = destNodeId;
    }

    public String getDestNodeName() {
        return destNodeName;
    }

    public void setDestNodeName(String destNodeName) {
        this.destNodeName = destNodeName;
    }

    public int getPriority() {
        return priority;
    }

    public void setPriority(int priority) {
        this.priority = priority;
    }

    public String getCondition() {
        return condition;
    }

    public void setCondition(String condition) {
        this.condition = condition;
    }

    public String[] getConditionExtParams() {
        return conditionExtParams;
    }

    public void setConditionExtParams(String[] conditionExtParams) {
        this.conditionExtParams = conditionExtParams;
    }

    public Map<String, String> getDecisionProps() {
        return decisionProps;
    }

    public void setDecisionProps(Map<String, String> decisionProps) {
        this.decisionProps = decisionProps;
    }

    public int getDecisionNum() {
        return decisionNum;
    }

    public void setDecisionNum(int decisionNum) {
        this.decisionNum = decisionNum;
    }


    public String getNextHandlerUid() {
        return nextHandlerUid;
    }

    public void setNextHandlerUid(String nextHandlerUid) {
        this.nextHandlerUid = nextHandlerUid;
    }

    public String getNextHandlerName() {
        return nextHandlerName;
    }

    public void setNextHandlerName(String nextHandlerName) {
        this.nextHandlerName = nextHandlerName;
    }
}
